package com.doupi.partner.dal.model;

import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * com.xletou.generator.codegen.mybatis3.IntrospectedTableMyBatisImpl@1fca53a7 
 */
public class SystemConfig implements Serializable {
    private static final long serialVersionUID = -1033872411919501696L;

    /**
     * 主键
     */
    private String key;

    /**
     * 名称
     */
    private String name;

    /**
     * 配置值
     */
    private String value;

    /**
     * 备注
     */
    private String memo;

    /**
     * 父类key
     */
    private String parentKey;

    /**
     * key搜索路径 /parentKey/parentKey
     */
    private String keyPath;

    /**
     * 创建管理员id
     */
    private Long createAdministratorId;

    /**
     * 最后一次操作管理员id
     */
    private Long updateAdministratorId;

    /**
     * 创建时间，自动设置当前时间，不需要程序设置
     */
    private Date createTime;

    /**
     * 更新时间，自动更新为当前时间，不需要程序设置
     */
    private Date updateTime;

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getParentKey() {
        return parentKey;
    }

    public void setParentKey(String parentKey) {
        this.parentKey = parentKey;
    }

    public String getKeyPath() {
        return keyPath;
    }

    public void setKeyPath(String keyPath) {
        this.keyPath = keyPath;
    }

    public Long getCreateAdministratorId() {
        return createAdministratorId;
    }

    public void setCreateAdministratorId(Long createAdministratorId) {
        this.createAdministratorId = createAdministratorId;
    }

    public Long getUpdateAdministratorId() {
        return updateAdministratorId;
    }

    public void setUpdateAdministratorId(Long updateAdministratorId) {
        this.updateAdministratorId = updateAdministratorId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object that) {
        return EqualsBuilder.reflectionEquals(this, that);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }
}